function delay = wrapToHalfCodeLen(delay, codeLen)
%wrapToCodeLen Wrap delay error (code phase error) in chips to (ceil(codeLen / 2), codeLen - ceil(codeLen / 2)]
% 意义：将码位误差（码相位误差）映射到 (ceil(codeLen / 2), codeLen - ceil(codeLen / 2)] 区间
% 输入：
%   delay - 码位误差（码相位误差）向量，单位：码位（ chips）
%   codeLen - 码长，单位：码位（ chips）
% 输出：
%   delayWrapped - 映射后的码位误差（码相位误差）向量，单位：码位（ chips）

codeLenHalf = codeLen - ceil(codeLen / 2);

delay = mod(delay, codeLen);
idx = (delay > codeLenHalf);
delay(idx) = delay(idx) - codeLen;